home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Plus / Multimedia Plus with ClearVue Version 10-94 (Knowledge Media Inc.).ISO / media / etexts / fiction / hhgi10.txt < prev    next >
Text File  |  1993-06-10  |  61KB  |  1,339 lines

  1. A Project Gutenberg Etext of Hitchhiker's Guide to the Internet.
  2. *******This file should be named hhgi10.txt or hhgi10.zip*******
  3.  
  4. Corrected EDITIONS of our etexts get a new NUMBER, xxxxx11.txt.
  5. VERSIONS based on separate sources get new LETTER, xxxxx10a.txt.
  6.  
  7. Project Gutenberg is working on creating a simple, childlike (if
  8. you will) network guide, "A Child's Garden of the Internet."  If
  9. you have any suggestions for inclusions, and/or could take a few
  10. minutes to write a "Ten Minute Tuturial" on any subject you feel
  11. worthwhile.  These should be directed at the absolute novices of
  12. the networks, and should presume little or no previous knowledge
  13. (we are even including how to control-c in each tutorial, as the
  14. tutorials are each supposed to be a stand alone event taking the
  15. nominal "Ten Minutes" to expose the novices to a particular part
  16. of the networks, or to a particular resource. . .even if that is
  17. a resource directed at other resources, such as Gopher, Prospero
  18. and others.  This could be an easy way to get your name in print
  19. in both etext and paper publishing, as we had hardly announced A
  20. Child's Garden before we were approached for paper publishing.
  21.  
  22. Information about Project Gutenberg (one page)
  23.  
  24. We produce about one million dollars for each hour we work.  One
  25. hundred hours is a conservative estimate for how long it we take
  26. to get any etext selected, entered, proofread, edited, copyright
  27. searched and analyzed, the copyright letters written, etc.  This
  28. projected audience is one hundred million readers.  If our value
  29. per text is nominally estimated at one dollar, then we produce a
  30. million dollars per hour; next year we will have to do four text
  31. files per month, thus upping our productivity to two million/hr.
  32. The Goal of Project Gutenberg is to Give Away One Trillion Etext
  33. Files by the December 31, 2001.  [10,000 x 100,000,000=Trillion]
  34. This is ten thousand titles each to one hundred million readers.
  35.  
  36.  
  37. Send to:
  38.  
  39. David Turner, Project Gutenberg
  40. Illinois  Benedictine  College
  41. 5700  College  Road
  42. Lisle, IL 60532-0900
  43.  
  44. All communication to Project Gutenberg should be carried out via
  45. Illinois Benedictine College unless via email.  This is for help
  46. in keeping me from being swept under by paper mail as follows:
  47.  
  48. 1.  Too many people say they are including SASLE's and aren't.
  49.  
  50. 2.  Paper communication just takes too long when compared to the
  51.     thousands of lines of email I receive every day.  Even then,
  52.     I can't communicate with people who take too long to respond
  53.     as I just can't keep their trains of thought alive for those
  54.     extended periods of time.  Even quick responses should reply
  55.     with the text of the messages they are answering (reply text
  56.     option in RiceMail).  This is more difficult with paper.
  57.  
  58. 3.  People request disks without specifying which kind of disks,
  59.     it can be very difficult to read an Apple disk on an IBM.  I
  60.     have also received too many disks that cannot be formatted.
  61.  
  62. My apologies.
  63.  
  64. We would strongly prefer to send you this information by email
  65. (Internet,  Bitnet, Compuserve, ATTMAIL or MCImail).
  66. Email requests to:
  67.  
  68. Internet:    hart@vmd.cso.uiuc.edu 
  69. Bitnet:      hart@uiucvmd or hart@uiucvmd.bitnet
  70. Compuserve:  >internet:hart@vmd.cso.uiuc.edu  
  71. Attmail:     internet!vmd.cso.uiuc.edu!HART   
  72. MCImail:  ADDRESS TYPE: MCI / EMS: INTERNET / MBX:
  73. hart@vmd.cso.uiuc.edu
  74. ******
  75. If you have an FTP program (or emulator), please:
  76.  
  77. FTP directly to the Project Gutenberg archives:
  78. ftp mrcnext.cso.uiuc.edu
  79. login:  anonymous
  80. password:  your@login
  81. cd etext/etext91
  82. or cd etext92 [for new books]  [now also cd etext/etext92]
  83. or cd etext/articles [get suggest gut for more information]
  84. dir [to see files]
  85. get or mget [to get files. . .set bin for zip files]
  86. GET INDEX and AAINDEX (or any file containing "index"
  87. for a list of books
  88. and
  89. GET NEW GUT for general information
  90. and
  91. MGET GUT* for newsletters.
  92.  
  93. **Information prepared by the Project Gutenberg legal advisor**
  94.  
  95. *START** SMALL PRINT! for ** Hitchhiker's Guide to the Internet
  96.  
  97. This etext was distributed by Professor Michael S. Hart through
  98. the Project Gutenberg Association (the "Project").  As with
  99. other Project Gutenberg-tm etexts, you can (and are encouraged!)
  100. to copy and distribute it in the United States.  We tell you how
  101. below.
  102.  
  103. *BEFORE!* YOU USE OR READ THIS ETEXT
  104.  
  105. Why is this "Small Print!" statement here?  You know: lawyers.
  106. They tell us you might sue us if there is something wrong with
  107. your copy of this etext, even if you got it for free from
  108. someone other than us, and even if what's wrong is not our
  109. fault.  So, among other things, this "Small Print!" statement
  110. disclaims most of our liability to you.
  111.  
  112. By using or reading any part of this PROJECT GUTENBERG-tm etext,
  113. you indicate that you understand, agree to and accept this
  114. "Small Print!" statement.  If you do not, you may receive a
  115. refund of the money (if any) you paid for this etext by sending
  116. a request within 30 days of receiving it to the person you got
  117. it from.  If you received this etext on a physical medium (such
  118. as a disk), you must return it with your request.
  119.  
  120. As used in this "Small Print!" statement, the word "Defect"
  121. includes incomplete, inaccurate or corrupt data, transcription
  122. errors, a copyright or other intellectual property infringement,
  123. a defective or damaged disk or other etext medium, a computer
  124. virus, and computer codes that damage or cannot be read by your
  125. equipment.
  126.  
  127. DISCLAIMER
  128.  
  129. But for the "Right of Replacement or Refund" described below,
  130. [1] the Project (and any other party you may receive this etext
  131. from as a PROJECT GUTENBERG-tm etext) disclaims all liability to
  132. you for damages, costs and expenses, including legal fees, and
  133. [2] YOU HAVE NO REMEDIES FOR NEGLIGENCE OR UNDER STRICT LIABILI-
  134. TY, OR FOR BREACH OF WARRANTY OR CONTRACT, INCLUDING BUT NOT
  135. LIMITED TO INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL
  136. DAMAGES, EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH
  137. DAMAGES.
  138.  
  139. If you discover a Defect in this etext within 90 days of
  140. receiving it, you will receive a refund of the money (if any)
  141. you paid for it by sending an explanatory note within that time
  142. to the person you received it from.  If you received it on a
  143. physical medium, you must return the Defective copy with your
  144. note, and such person may choose to alternatively give you a
  145. replacement copy.  If you received it electronically, such
  146. person may alternatively give you a second opportunity to
  147. receive it electronically.
  148.  
  149. THIS ETEXT IS OTHERWISE PROVIDED TO YOU "AS-IS".  NO OTHER
  150. WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, ARE MADE TO YOU AS
  151. TO THE ETEXT OR ANY MEDIUM IT MAY BE ON, INCLUDING BUT NOT
  152. LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
  153. PARTICULAR PURPOSE.
  154.  
  155. Some states do not allow disclaimers of implied warranties or
  156. the exclusion or limitation of consequential damages, so the
  157. above disclaimers and exclusions may not apply to you, and you
  158. may have other legal rights.
  159.  
  160. INDEMNITY
  161.  
  162. You will indemnify and hold the Project, its officers, members
  163. and agents harmless from all liability, cost and expense, in-
  164. cluding legal fees, that arise from both [1] distribution of
  165. this etext for which you are responsible, and [2] any Defect, or
  166. any alteration, modification or addition to the etext for which
  167. you are responsible.
  168.  
  169. LICENSE
  170.  
  171. Except for modifications in formatting, this is a verbatim copy
  172. of revision 25 August 1987:
  173.  
  174.             The Hitchhikers Guide to the Internet
  175.                         25 August 1987
  176.  
  177.  
  178.  
  179.                            Ed Krol
  180.                     krol@uxc.cso.uiuc.edu
  181.  
  182.  
  183.  
  184.  
  185.  This document was produced through funding of the National
  186.  Science Foundation.
  187.  
  188.  Copyright (C) 1987, by the Board of Trustees of The University
  189.  of Illinois.  Permission to duplicate this document, in whole
  190.  or part, is granted provided reference is made to the source
  191.  and this copyright is included in whole copies.
  192.  
  193. DISTRIBUTION UNDER "PROJECT GUTENBERG-tm"
  194.  
  195. You may distribute copies of this etext electronically, or by
  196. disk, book or any other medium if you either delete this "Small
  197. Print!" statement except for 
  198.  
  199. The original copyright notice, or:
  200.  
  201. [1]  Only give exact copies of it.  Among other things, this re-
  202.      quires that you do not remove or modify the etext or this
  203.      "Small Print!" statement.  You may however, if you wish,
  204.      distribute this etext in machine readable binary, com-
  205.      pressed, mark-up, or proprietary form, including any form
  206.      resulting from conversion by word processing or hypertext
  207.      software, but only so long as *EITHER*:
  208.  
  209.      [*]  The etext, when displayed, is clearly readable.  We
  210.           consider an etext *not* clearly readable if it
  211.           contains characters other than those intended by the
  212.           author of the work, although tilde (~), asterisk (*)
  213.           and underline (_) characters may be used to convey
  214.           punctuation intended by the author, and additional
  215.           characters may be used to indicate hypertext links.
  216.  
  217.      [*]  The etext may be readily converted by the reader at no
  218.           expense into in plain ASCII, EBCDIC or equivalent form
  219.           by the program that displays the etext (as is the
  220.           case, for instance, with most word processors).
  221.  
  222.      [*]  You provide, or agree to also provide on request at no
  223.           additional cost, fee or expense, a copy of the etext
  224.           in its original plain ASCII form (or in EBCDIC or
  225.           other equivalent proprietary form).
  226.  
  227. [2]  Honor the etext refund and replacement provisions of this
  228.      "Small Print!" statement.
  229.  
  230. WRITE TO US! We can be reached at:
  231.  
  232. Internet:     hart@vmd.cso.uiuc.edu
  233. Bitnet:       hart@uiucvmd
  234. CompuServe:   >internet:hart@.vmd.cso.uiuc.edu
  235. Attmail:      internet!vmd.cso.uiuc.edu!Hart
  236.  
  237. or
  238. Prof. Michael Hart, Project Gutenberg
  239. Illinois Benedictine College 
  240. 5700 College Road 
  241. Lisle, IL 60532-0900 
  242.  
  243. Drafted by CHARLES B. KRAMER, Attorney
  244. CompuServe:  72600,2026
  245.   Internet:  72600.2026@compuserve.com
  246.        Tel:  (212) 254-5093
  247. *SMALL PRINT! Ver.06.28.92* Zen and the Art of the Internet*END*
  248.  
  249.  
  250. There are several versions of this text with printing commands
  251. included for .xxx and most other publishing formats.  This one
  252. is strictly intended for etext uses, and has had hyphens at an
  253. end of line position removed to facilitate searching the text.
  254. ***************************************************************
  255.  
  256.             The Hitchhikers Guide to the Internet
  257.                         25 August 1987
  258.  
  259.  
  260.  
  261.                            Ed Krol
  262.                     krol@uxc.cso.uiuc.edu
  263.  
  264.  
  265.  
  266.  
  267.  This document was produced through funding of the National
  268.  Science Foundation.
  269.  
  270.  Copyright (C) 1987, by the Board of Trustees of The University
  271.  of Illinois.  Permission to duplicate this document, in whole
  272.  or part, is granted provided reference is made to the source
  273.  and this copyright is included in whole copies.
  274.  
  275.  
  276.  This document assumes that one is familiar with the workings
  277.  of a non-connected simple IP network (e.g. a few 4.2 BSD
  278.  systems on an Ethernet not connected to anywhere else).
  279.  Appendix A contains remedial information to get one to this
  280.  point.  Its purpose is to get that person, familiar with a
  281.  simple net, versed in the "oral tradition" of the Internet
  282.  to the point that that net can be connected to the Internet
  283.  with little danger to either.  It is not a tutorial, it 
  284.  consists of pointers to other places, literature, and hints
  285.  which are not normally documented.  Since the Internet is a
  286.  dynamic environment, changes to this document will be made
  287.  regularly.  The author welcomes comments and suggestions.
  288.  This is especially true of terms for the glossary (definitions
  289.  are not necessary).
  290.  
  291.  
  292.  
  293.  
  294.  In the beginning there was the ARPAnet, a wide area
  295.  experimental network connecting hosts and terminal servers
  296.  together.  Procedures were set up to regulate the allocation
  297.  of addresses and to create voluntary standards for the network.
  298.  As local area networks became more pervasive, many hosts became
  299.  gateways to local networks.  A network layer to allow the
  300.  interoperation of these networks was developed and called IP
  301.  (Internet Protocol).  Over time other groups created long haul
  302.  IP based networks (NASA, NSF, states...).  These nets, too,
  303.  interoperate because of IP.  The collection of all of these
  304.  interoperating networks is the Internet.
  305.  
  306.  Two groups do much of the research and information work of
  307.  the Internet (ISI and SRI).  ISI (the Informational Sciences
  308.  Institute) does much of the research, standardization, and
  309.  allocation work of the Internet.  SRI International provides
  310.  information services for the Internet.  In fact, after you
  311.  are connected to the Internet most of the information in
  312.  this document can be retrieved from the Network Information
  313.  Center (NIC) run by SRI.
  314.  
  315.  
  316.  
  317.  Operating the Internet
  318.  
  319.  Each network, be it the ARPAnet, NSFnet or a regional network,
  320.  has its own operations center.  The ARPAnet is run by
  321.  BBN, Inc. under contract from DARPA.  Their facility is
  322.  called the Network Operations Center or NOC.  Cornell
  323.  University temporarily operates NSFnet (called the Network
  324.  Information Service Center, NISC).  It goes on to the
  325.  
  326.                              -2-
  327.  
  328.  regionals having similar facilities to monitor and keep
  329.  watch over the goings on of their portion of the Internet.
  330.  In addition, they all should have some knowledge of what is
  331.  happening to the Internet in total. If a problem comes up,
  332.  it is suggested that a campus network liaison should contact
  333.  the network operator to which he is directly connected. That
  334.  is, if you are connected to a regional network (which is
  335.  gatewayed to the NSFnet, which is connected to the
  336.  ARPAnet...)  and have a problem, you should contact your
  337.  regional network operations center.
  338.  
  339.  
  340.  RFCs
  341.  
  342.  The internal workings of the Internet are defined by a set
  343.  of documents called RFCs (Request for Comments).  The general
  344.  process for creating an RFC is for someone wanting something
  345.  formalized to write a document describing the issue and mailing
  346.  it to Jon Postel (postel@isi.edu).  He acts as a referee for
  347.  the proposal.  It is then commented upon by all those wishing
  348.  to take part in the discussion (electronically of course).
  349.  It may go through multiple revisions.  Should it be generally
  350.  accepted as a good idea, it will be assigned a number and
  351.  filed with the RFCs.
  352.  
  353.  The RFCs can be divided into five groups: required, suggested,
  354.  directional, informational and obsolete.  Required RFC's (e.g.
  355.  RFC-791, The Internet Protocol) must be implemented on any host
  356.  connected to the Internet.  Suggested RFCs are generally
  357.  implemented by network hosts.  Lack of them does not preclude
  358.  access to the Internet, but may impact its usability.  RFC-793
  359.  (Transmission Control Protocol) is a suggested RFC.  Directional
  360.  RFCs were discussed and agreed to, but their application has never
  361.  come into wide use.  This may be due to the lack of wide need for
  362.  the specific application (RFC-937 The Post Office Protocol) or
  363.  that, although technically superior, ran against other pervasive
  364.  approaches (RFC-891 Hello).  It is suggested that should the
  365.  facility be required by a particular site, animplementation
  366.  be done in accordance with the RFC.  This insures that, should
  367.  the idea be one whose time has come, the implementation will be
  368.  in accordance with some standard and will be generally usable.
  369.  Informational RFCs contain factual information about the
  370.  Internet and its operation (RFC-990, Assigned Numbers).
  371.  Finally, as the Internet and technology have grown, some
  372.  RFCs have become unnecessary.  These obsolete RFCs cannot
  373.  be ignored, however.  Frequently when a change is made to
  374.  some RFC that causes a new one to be issued obsoleting others,
  375.  the new RFC only contains explanations and motivations for the
  376.  change.  Understanding the model on which the whole facility
  377.  is based may involve reading the original and subsequent RFCs
  378.  on the topic.
  379.  
  380.                              -3-
  381.  
  382.  (Appendix B contains a list of what are considered to be the
  383.  major RFCs necessary for understanding the Internet).
  384.  
  385.  
  386.  
  387.  The Network Information Center
  388.  
  389.  The NIC is a facility available to all Internet users which
  390.  provides information to the community.  There are three
  391.  means of NIC contact: network, telephone, and mail.  The
  392.  network accesses are the most prevalent.  Interactive access
  393.  is frequently used to do queries of NIC service overviews,
  394.  look up user and host names, and scan lists of NIC documents.
  395.  It is available by using
  396.  
  397.       %telnet sri-nic.arpa
  398.  
  399.  on a BSD system and following the directions provided by a
  400.  user friendly prompter.  From poking around in the databases
  401.  provided one might decide that a document named NETINFO:NUG.DOC
  402.  (The Users Guide to the ARPAnet) would be worth having.  It could
  403.  be retrieved via an anonymous FTP.  An anonymous FTP would proceed
  404.  something like the following.  (The dialogue may vary slightly
  405.  depending on the implementation of FTP you are using).
  406.  
  407.       %ftp sri-nic.arpa
  408.       Connected to sri-nic.arpa.
  409.       220 SRI_NIC.ARPA FTP Server Process 5Z(47)-6 at Wed
  410. 17-Jun-87 12:00 PDT
  411.       Name (sri-nic.arpa:myname): anonymous
  412.       331 ANONYMOUS user ok, send real ident as password.
  413.       Password: myname
  414.       230 User ANONYMOUS logged in at Wed 17-Jun-87 12:01 PDT,
  415. job 15.
  416.       ftp> get netinfo:nug.doc
  417.       200 Port 18.144 at host 128.174.5.50 accepted.
  418.       150 ASCII retrieve of <NETINFO>NUG.DOC.11 started.
  419.       226 Transfer Completed 157675 (8) bytes transferred
  420.       local: netinfo:nug.doc  remote:netinfo:nug.doc
  421.       157675 bytes in 4.5e+02 seconds (0.34 Kbytes/s)
  422.       ftp> quit
  423.       221 QUIT command received. Goodbye.
  424.  
  425.  (Another good initial document to fetch is
  426.  NETINFO:WHAT-THE-NIC-DOES.TXT)!
  427.  
  428.  Questions of the NIC or problems with services can be asked
  429.  of or reported to using electronic mail.  The following
  430.  addresses can be used:
  431.  
  432.       NIC@SRI-NIC.ARPA         General user assistance, document requests
  433.       REGISTRAR@SRI-NIC.ARPA   User registration and WHOIS updates
  434.       HOSTMASTER@SRI-NIC.ARPA  Hostname and domain changes and updates
  435.       ACTION@SRI-NIC.ARPA      SRI-NIC computer operations
  436.       SUGGESTIONS@SRI-NIC.ARPA Comments on NIC publications and services
  437.  
  438.                              -4-
  439.  
  440.  For people without network access, or if the number of documents
  441.  is large, many of the NIC documents are available in printed
  442.  form for a small charge.  One frequently ordered document for
  443.  starting sites is a compendium of major RFCs.  Telephone access is
  444.  used primarily for questions or problems with network access.
  445.  (See appendix B for mail/telephone contact numbers).
  446.  
  447.  
  448.  
  449.  The NSFnet Network Service Center
  450.  
  451.  The NSFnet Network Service Center (NNSC) is funded by NSF to
  452.  provide a first level of aid to users of NSFnet should they
  453.  have questions or encounter problems traversing the network.
  454.  It is run by BBN Inc.  Karen Roubicek
  455.  (roubicek@nnsc.nsf.net) is the NNSC user liaison.
  456.  
  457.  The NNSC, which currently has information and documents
  458.  online and in printed form, plans to distribute news through
  459.  network mailing lists, bulletins, newsletters, and online
  460.  reports.  The NNSC also maintains a database of contact
  461.  points and sources of additional information about NSFnet
  462.  component networks and supercomputer centers.
  463.  
  464.  Prospective or current users who do not know whom to call
  465.  concerning questions about NSFnet use, should contact the
  466.  NNSC.  The NNSC will answer general questions, and, for
  467.  detailed information relating to specific components of the
  468.  Internet, will help users find the appropriate contact for
  469.  further assistance.  (Appendix B)
  470.  
  471.  
  472.  
  473.  Mail Reflectors
  474.  
  475.  The way most people keep up to date on network news is
  476.  through subscription to a number of mail reflectors.  Mail
  477.  reflectors are special electronic mailboxes which, when they
  478.  receive a message, resend it to a list of other mailboxes.
  479.  This in effect creates a discussion group on a particular
  480.  topic.  Each subscriber sees all the mail forwarded by the
  481.  reflector, and if one wants to put his "two cents" in sends
  482.  a message with the comments to the reflector....
  483.  
  484.  The general format to subscribe to a mail list is to find
  485.  the address reflector and append the string -REQUEST to the
  486.  mailbox name (not the host name).  For example, if you
  487.  wanted to take part in the mailing list for NSFnet reflected
  488.  by NSFNET@NNSC.NSF.NET, one sends a request to
  489.  
  490.                              -5-
  491.  
  492.  NSFNET-REQUEST@NNSC.NSF.NET.  This may be a wonderful scheme,
  493.  but the problem is that you must know the list exists in the
  494.  first place.  It is suggested that, if you are interested,
  495.  you read the mail from one list (like NSFNET) and you will
  496.  probably become familiar with the existence of others.
  497.  A registration service for mail reflectors is provided by
  498.  the NIC in the files NETINFO:INTEREST-GROUPS-1.TXT,
  499.  NETINFO:INTEREST-GROUPS-2.TXT, and NETINFO:INTEREST-GROUPS-
  500.  3.TXT.
  501.  
  502.  The NSFNET mail reflector is targeted at those people who
  503.  have a day to day interest in the news of the NSFnet (the
  504.  backbone, regional network, and Internet inter-connection
  505.  site workers).  The messages are reflected by a central
  506.  location and are sent as separate messages to each subscriber.
  507.  This creates hundreds of messages on the wide area networks
  508.  where bandwidth is the scarcest.
  509.  
  510.  There are two ways in which a campus could spread the news
  511.  and not cause these messages to inundate the wide area
  512.  networks.  One is to re-reflect the message on the campus.
  513.  That is, set up a reflector on a local machine which forwards
  514.  the message to a campus distribution list.  The other is
  515.  to create an alias on a campus machine which places the
  516.  messages into a notesfile on the topic.  Campus users who
  517.  want the information could access the notesfile and see the
  518.  messages that have been sent since their last access.  One
  519.  might also elect to have the campus wide area network
  520.  liaison screen the messages in either case and only forward
  521.  those which are considered of merit.  Either of these
  522.  schemes allows one message to be sent to the campus, while
  523.  allowing wide distribution within.
  524.  
  525.  
  526.  Address Allocation
  527.  
  528.  Before a local network can be connected to the Internet it
  529.  must be allocated a unique IP address.  These addresses are
  530.  allocated by ISI.  The allocation process consists of getting
  531.  an application form received from ISI.  (Send a message
  532.  to hostmaster@sri-nic.arpa and ask for the template for a
  533.  connected address).  This template is filled out and mailed
  534.  back to hostmaster.  An address is allocated and e-mailed back
  535.  to you.  This can also be done by postal mail (Appendix B).
  536.  
  537.  IP addresses are 32 bits long.  It is usually written as
  538.  four decimal numbers separated by periods (e.g., 192.17.5.100).
  539.  Each number is the value of an octet of the 32 bits.  It was
  540.  seen from the beginning that some networks might choose to
  541.  organize themselves as very flat (one net with a lot of nodes)
  542.  and some might organize hierarchically
  543.  
  544.                              -6-
  545.  
  546.  (many interconnected nets with fewer nodes each and a backbone).
  547.  To provide for these cases, addresses were differentiated into
  548.  class A, B, and C networks.  This classification had to with the
  549.  interpretation of the octets.  Class A networks have the first
  550.  octet as a network address and the remaining three as a host
  551.  address on that network.  Class C addresses have three octets of
  552.  network address and one of host.  Class B is split two and two.
  553.  Therefore, there is an address space for a few large nets, a
  554.  reasonable number of medium nets and a large number of small nets.
  555.  The top two bits in the first octet are coded to tell the address
  556.  format.  All of the class A nets have been allocated.  So one
  557.  has to choose between Class B and Class C when placing an order.
  558.  (There are also class D (Multicast) and E (Experimental) formats.
  559.  Multicast addresses will likely come into greater use in the near
  560.  future, but are not frequently used now).
  561.  
  562.  In the past sites requiring multiple network addresses
  563.  requested multiple discrete addresses (usually Class C).
  564.  This was done because much of the software available
  565.  (not ably 4.2BSD) could not deal with subnetted addresses.
  566.  Information on how to reach a particular network (routing
  567.  information) must be stored in Internet gateways and packet
  568.  switches.  Some of these nodes have a limited capability to
  569.  store and exchange routing information (limited to about 300
  570.  networks).  Therefore, it is suggested that any campus
  571.  announce (make known to the Internet) no more than two
  572.  discrete network numbers.
  573.  
  574.  If a campus expects to be constrained by this, it should
  575.  consider subnetting.  Subnetting (RFC-932) allows one to
  576.  announce one address to the Internet and use a  set of
  577.  addresses on the campus.  Basically, one defines a mask
  578.  which allows the network to differentiate between the
  579.  network portion and host portion of the address.  By using a
  580.  different mask on the Internet and the campus, the address
  581.  can be interpreted in multiple ways.  For example, if a
  582.  campus requires two networks internally and has the 32,000
  583.  addresses beginning 128.174.X.X (a Class B address) allocated
  584.  to it,  the campus could allocate 128.174.5.X to one part
  585.  of campus and 128.174.10.X to another.  By advertising
  586.  128.174 to the Internet with a subnet mask of FF.FF.00.00,
  587.  the Internet would treat these two addresses as one. Within
  588.  the campus a mask of FF.FF.FF.00 would be used, allowing the
  589.  campus to treat the addresses as separate entities. (In reality
  590.  you don't pass the subnet mask of FF.FF.00.00 to the Internet,
  591.  the octet meaning is implicit in its being a class B address).
  592.  A word of warning is necessary.  Not all systems know how to
  593.  do subnetting.  Some 4.2BSD systems require additional
  594.  software.  4.3BSD systems subnet as released.  Other devices
  595.  
  596.                              -7-
  597.  
  598.  and operating systems vary in the problems they have dealing
  599.  with subnets.  Frequently these machines can be used as a
  600.  leaf on a network but not as a gateway within the subnetted
  601.  portion of the network.  As time passes and more systems
  602.  become 4.3BSD based, these problems should disappear.
  603.  
  604.  There has been some confusion in the past over the format of
  605.  an IP broadcast address.  Some machines used an address of
  606.  all zeros to mean broadcast and some all ones.  This was
  607.  confusing when machines of both type were connected to the
  608.  same network. The broadcast address of all ones has been
  609.  adopted to end the grief.  Some systems (e.g. 4.2 BSD) allow
  610.  one to choose the format of the broadcast address.  If a
  611.  system does allow this choice, care should be taken that the
  612.  all ones format is chosen.  (This is explained in RFC-1009
  613.  and RFC-1010).
  614.  
  615.  
  616.  Internet Problems
  617.  
  618.  There are a number of problems with the Internet.  Solutions
  619.  to the problems range from software changes to long term
  620.  research projects. Some of the major ones are detailed
  621.  below:
  622.  
  623.  Number of Networks
  624.  
  625.       When the Internet was designed it was to have about 50
  626.       connected networks.  With the explosion of networking,
  627.       the number is now approaching 300.  The software in a
  628.       group of critical gateways (called the core gateways of
  629.       the ARPAnet) are not able to pass or store much more
  630.       than that number.  In the short term, core reallocation
  631.       and recoding has raised the number slightly.  By the
  632.       summer of '88 the current PDP-11 core gateways will be
  633.       replaced with BBN Butterfly gateways which will solve
  634.       the problem.
  635.  
  636.  Routing Issues
  637.  
  638.       Along with sheer mass of the data necessary to route
  639.       packets to a large number of networks, there are many
  640.       problems with the updating, stability, and optimality
  641.       of the routing algorithms.  Much research is being done
  642.       in the area, but the optimal solution to these routing
  643.       problems is still years away.  In most cases the the
  644.       routing we have today works, but sub-optimally and
  645.       sometimes unpredictably.
  646.  
  647.                              -8-
  648.  
  649.  
  650.  Trust Issues
  651.  
  652.       Gateways exchange network routing information.
  653.       Currently, most gateways accept on faith that the
  654.       information provided about the state of the network is
  655.       correct.  In the past this was not a big problem since
  656.       most of the gateways belonged to a single administrative
  657.       entity (DARPA).  Now with multiple wide area networks
  658.       under different administrations, a rogue gateway
  659.       somewhere in the net could cripple the Internet.
  660.       There is design work going on to solve both the problem of
  661.       a gateway doing unreasonable things and providing enough
  662.       information to reasonably route data between multiply
  663.       connected networks (multi-homed networks).
  664.  
  665.  Capacity & Congestion
  666.  
  667.       Many portions of the ARPAnet are very congested during
  668.       the busy part of the day.  Additional links are planned
  669.       to alleviate this congestion, but the implementation
  670.       will take a few months.
  671.  
  672.  
  673.  These problems and the future direction of the Internet are
  674.  determined by the Internet Architect (Dave Clark of MIT)
  675.  being advised by the Internet Activities Board (IAB).  This
  676.  board is composed of chairmen of a number of committees with
  677.  responsibility for various specialized areas of the Internet.
  678.  The committees composing the IAB and their chairmen are:
  679.  
  680.          Committee                            Chair
  681.       Autonomous Networks                  Deborah Estrin
  682.       End-to-End Services                  Bob Braden
  683.       Internet Architecture                Dave Mills
  684.       Internet Engineering                 Phil Gross
  685.            EGP2                            Mike Petry
  686.            Name Domain Planning            Doug Kingston
  687.            Gateway Monitoring              Craig Partridge
  688.            Internic                        Jake Feinler
  689.            Performance & Congestion ControlRobert Stine
  690.            NSF Routing                     Chuck Hedrick
  691.            Misc. MilSup Issues             Mike St. Johns
  692.       Privacy                              Steve Kent
  693.       IRINET Requirements                  Vint Cerf
  694.       Robustness & Survivability           Jim Mathis
  695.       Scientific Requirements              Barry Leiner
  696.  
  697.  Note that under Internet Engineering, there are a set of
  698.  task forces and chairs to look at short term concerns.  The
  699.  chairs of these task forces are not part of the IAB.
  700.  
  701.                              -9-
  702.  Routing
  703.  
  704.  
  705.  Routing is the algorithm by which a network directs a packet
  706.  from its source to its destination.  To appreciate the problem,
  707.  watch a small child trying to find a table in a restaurant.
  708.  From the adult point of view the structure of the dining room
  709.  is seen and an optimal route easily chosen.  The child, however,
  710.  is presented with a set of paths between tables where a good path,
  711.  let alone the optimal one to the goal is not discernible.***
  712.  
  713.  A little more background might be appropriate.  IP gateways
  714.  (more correctly routers) are boxes which have connections to
  715.  multiple networks and pass traffic  between these nets.  They
  716.  decide how the packet is to be sent based on the information
  717.  in the IP header of the packet and the state of the network.
  718.  Each interface on a router has an unique address appropriate
  719.  to the network to which it is connected.  The information in
  720.  the IP header which is used is primarily the destination address.
  721.  Other information (e.g. type of service) is largely ignored at this
  722.  time.  The state of the network is determined by the routers passing
  723.  information among themselves.  The distribution of the database
  724.  (what each node knows), the form of the updates, and metrics used
  725.  to measure the value of a connection, are the parameters
  726.  which determine the characteristics of a routing protocol.
  727.  
  728.  Under some algorithms each node in the network has complete
  729.  knowledge of the state of the network (the adult algorithm).
  730.  This implies the nodes must have larger amounts of local
  731.  storage and enough CPU to search the large tables in a short
  732.  enough time (remember this must be done for each packet).
  733.  Also, routing updates usually contain only changes to the
  734.  existing information (or you spend a large amount of the
  735.  network capacity passing around megabyte routing updates).
  736.  This type of algorithm has several problems.  Since the only
  737.  way the routing information can be passed around is across
  738.  the network and the propagation time is non-trivial, the
  739.  view of the network at each node is a correct historical
  740.  view of the network at varying times in the past.  (The
  741.  adult algorithm, but rather than looking directly at the
  742.  dining area, looking at a photograph of the dining room.
  743.  One is likely to pick the optimal route and find a bus-cart
  744.  has moved in to block the path after the photo was taken).
  745.  These inconsistencies can cause circular routes (called
  746.  routing loops) where once a packet enters it is routed in a
  747.  closed path until its time to live (TTL) field expires and
  748.  it is discarded.
  749.  
  750.  Other algorithms may know about only a subset of the network.
  751.  To prevent loops in these protocols, they are usually used in
  752.  a hierarchical network.  They know completely about their
  753.  own area, but to leave that area they go to one particular
  754.  place (the default gateway).  Typically these are used in
  755.  smaller networks (campus, regional...).
  756.  
  757.                              -10-
  758.  
  759.  Routing protocols in current use:
  760.  
  761.  Static (no protocol-table/default routing)
  762.  
  763.       Don't laugh.  It is probably the most reliable, easiest
  764.       to implement, and least likely to get one into trouble
  765.       for a small network or a leaf on the Internet.  This is,
  766.       also, the only method available on some CPU-operating
  767.       system combinations. If a host is connected to an Ethernet
  768.       which has only one gateway off of it, one should make that
  769.       the default gateway for the host and do no other routing.
  770.       (Of course that gateway may pass the reachablity
  771.       information somehow on the other side of itself).
  772.  
  773.       One word of warning, it is only with extreme caution that
  774.       one should use static routes in the middle of a network
  775.       which is also using dynamic routing.  The routers passing
  776.       dynamic information are sometimes confused by conflicting
  777.       dynamic and static routes.  If your host is on an ethernet
  778.       with multiple routers to other networks on it and the
  779.       routers are doing dynamic routing among themselves,
  780.       it is usually better to take part in the dynamic routing
  781.       than to use static routes.
  782.  
  783.  
  784.  RIP
  785.  
  786.       RIP is a routing protocol based on XNS (Xerox Network
  787.       System) adapted for IP networks.  It is used by many
  788.       routers (Proteon, cisco, UB...) and many BSD Unix systems 
  789.       BSD systems typically run a program called "routed" to
  790.       exchange information with other systems running
  791.       RIP.  RIP works best for nets of small diameter
  792.       where the links are of equal speed.  The reason for
  793.       this is that the metric used to determine which path is
  794.       best is the hop-count.  A hop is a traversal across a
  795.       gateway.  So, all machines on the same Ethernet are
  796.       zero hops away.  If a router connects connects two net-
  797.       works directly, a machine on the other side of the
  798.       router is one hop away....  As the routing information
  799.       is passed through a gateway, the gateway adds one to
  800.       the hop counts to keep them consistent across the net-
  801.       work.  The diameter of a network is defined as the
  802.       largest hop-count possible within a network.  Unfor-
  803.       tunately, a hop count of 16 is defined as infinity in
  804.       RIP meaning the link is down. Therefore, RIP will not
  805.       allow hosts separated by more than 15 gateways in the
  806.       RIP space to communicate.
  807.  
  808.       The other problem with hop-count metrics is that if
  809.       links have different speeds, that difference is not
  810.  
  811.                              -11-
  812.  
  813.       reflected in the hop-count. So a one hop satellite link
  814.       (with a .5 sec delay) at 56kb would be used instead of
  815.       a two hop T1 connection. Congestion can be viewed as a
  816.       decrease in the efficacy of a link. So, as a link gets
  817.       more congested, RIP will still know it is the best
  818.       hop-count route and congest it even more by throwing
  819.       more packets on the queue for that link.
  820.  
  821.       The protocol is not well documented.  A group of people
  822.       are working on producing an RFC to both define the
  823.       current RIP and to do some extensions to it to allow it
  824.       to better cope with larger networks.  Currently, the
  825.       best documentation for RIP appears to be the code to
  826.       BSD "routed".
  827.  
  828.  
  829.  Routed
  830.  
  831.       The ROUTED program, which does RIP for 4.2BSD systems,
  832.       has many options. One of the most frequently used is:
  833.       "routed -q" (quiet mode) which means listen to RIP infor-
  834.       mation but never broadcast it.  This would be used by a
  835.       machine on a network with multiple RIP speaking gate-
  836.       ways.  It allows the host to determine which gateway is
  837.       best (hopwise) to use to reach a distant network.  (Of
  838.       course you might want to have a default gateway to
  839.       prevent having to pass all the addresses known to the
  840.       Internet around with RIP).
  841.  
  842.       There are two ways to insert static routes into "routed",
  843.       the "/etc/gateways" file and the "route add" command.
  844.       Static routes are useful if you know how to reach a
  845.       distant network, but you are not receiving that route
  846.       using RIP.  For the most part the "route add" command is
  847.       preferable to use.  The reason for this is that the
  848.       command adds the route to that machine's routing table
  849.       but does not export it through RIP.  The "/etc/gateways"
  850.       file takes precedence over any routing information
  851.       received through a RIP update.  It is also broadcast as
  852.       fact in RIP updates produced by the host without question,
  853.       so if a mistake is made in the "/etc/gateways" file,
  854.       that mistake will soon permeate the RIP space and
  855.       may bring the network to its knees.
  856.  
  857.       One of the problems with "routed" is that you have very
  858.       little control over what gets broadcast and what
  859.       doesn't.  Many times in larger networks where various
  860.       parts of the network are under different administrative
  861.       controls, you would like to pass on through RIP only nets
  862.       which you receive from RIP and you know are reasonable.
  863.       This prevents people from adding IP addresses to
  864.       the network which may be illegal and you being
  865.       responsible for passing them on to the Internet.  This
  866.  
  867.                              -12-
  868.  
  869.       type of reasonability checks are not available with "routed"
  870.       and leave it usable, but inadequate for large networks.
  871.  
  872.  
  873.  Hello (RFC-891)
  874.  
  875.       Hello is a routing protocol which was designed and
  876.       implemented in a experimental software router called a
  877.       "Fuzzball" which runs on a PDP-11. It does not have
  878.       wide usage, but is the routing protocol currently used
  879.       on the NSFnet backbone.  The data transferred between
  880.       nodes is similar to RIP (a list of networks and their
  881.       metrics).  The metric, however, is milliseconds of delay.
  882.       This allows Hello to be used over nets of various link
  883.       speeds and performs better in congestive situations.
  884.  
  885.       One of the most interesting side effects of Hello based
  886.       networks is their great timekeeping ability.  If you
  887.       consider the problem of measuring delay on a link for
  888.       the metric, you find that it is not an easy thing to
  889.       do.  You cannot measure round trip time since the
  890.       return link may be more congested, of a different
  891.       speed, or even not there.  It is not really feasible
  892.       for each node on the network to have a builtin WWV
  893.       (nationwide radio time standard) receiver.  So, you
  894.       must design an algorithm to pass around time between
  895.       nodes over the network links where the delay in
  896.       transmission can only be approximated.  Hello routers
  897.       do this and in a nationwide network maintain synchronized
  898.       time within milliseconds.
  899.  
  900.  
  901.  Exterior Gateway Protocol (EGP RFC-904)
  902.  
  903.       EGP is not strictly a routing protocol, it is a reacha-
  904.       bility protocol. It tells only if nets can be reached
  905.       through a particular gateway, not how good the connec-
  906.       tion is.  It is the standard by which gateways to local
  907.       nets inform the ARPAnet of the nets they can reach.
  908.       There is a metric passed around by EGP but its usage is
  909.       not standardized formally.  Its typical value is value
  910.       is 1 to 8 which are arbitrary goodness of link values
  911.       understood by the internal DDN gateways. The smaller
  912.       the value the better and a value of 8 being unreach-
  913.       able.  A quirk of the protocol prevents distinguishing
  914.       between 1 and 2, 3 and 4..., so the usablity of this as
  915.       a metric is as three values and unreachable.  Within
  916.       NSFnet the values used are 1, 3, and unreachable.  Many
  917.       routers talk EGP so they can be used for ARPAnet gateways.
  918.  
  919.                              -13-
  920.  
  921.  Gated
  922.  
  923.       So we have regional and campus networks talking RIP
  924.       among   themselves,  the  NSFnet  backbone  talking
  925.       Hello, and the DDN speaking EGP.
  926.       How do they interoperate?  In the beginning there was
  927.       static routing, assembled into the Fuzzball software
  928.       configured for each site.  The problem with doing
  929.       static routing in the middle of the network is that it
  930.       is broadcast to the Internet whether it is usable or
  931.       not.  Therefore, if a net becomes unreachable and you
  932.       try to get there, dynamic routing will immediately
  933.       issue a net unreachable to you.  Under static routing
  934.       the routers would think the net could be reached and
  935.       would continue trying until the application gave up (in
  936.       2 or more minutes).  Mark Fedor of Cornell
  937.       (fedor@devvax.tn.cornell.edu) attempted to solve these
  938.       problems with a replacement for "routed" called "gated".
  939.  
  940.       "Gated" talks RIP to RIP speaking hosts, EGP to EGP
  941.       speakers, and Hello to Hello'ers.  These speakers
  942.       frequently all live on one Ethernet, but luckily (or
  943.       unluckily) cannot understand each others ruminations.
  944.       In addition, under configuration file control it can
  945.       filter the conversion.  For example, one can produce a
  946.       configuration saying announce RIP nets via Hello only
  947.       if they are specified in a list and are reachable by
  948.       way of a RIP broadcast as well.  This means that if a
  949.       rogue network appears in your local site's RIP space,
  950.       it won't be passed through to the Hello side of the
  951.       world.  There are also configuration options to do
  952.       static routing and name trusted gateways.
  953.  
  954.       This may sound like the greatest thing since sliced
  955.       bread, but there is a catch called metric conversion.
  956.       You have RIP measuring in hops, Hello measuring in
  957.       milliseconds, and EGP using arbitrary small numbers.
  958.       The big questions is how many hops to a millisecond,
  959.       how many milliseconds in the EGP number 3....  Also,
  960.       remember that infinity (unreachability) is 16 to RIP,
  961.       30000 or so to Hello, and 8 to the DDN with EGP.
  962.       Getting all these metrics to work well together is no
  963.       small feat.  If done incorrectly and you translate an
  964.       RIP of 16 into an EGP of 6, everyone in the ARPAnet
  965.       will still think your gateway can reach the unreachable
  966.       and will send every packet in the world your way.  For
  967.       these reasons, Mark requests that you consult closely
  968.       with him when configuring and using "gated".
  969.  
  970.                              -14-
  971.  
  972.  "Names"
  973.  
  974.  All routing across the network is done by means of the IP
  975.  address associated with a packet. Since humans find it 
  976.  difficult to remember addresses like 128.174.5.50, a symbolic
  977.  name register was set up at the NIC where people would say
  978.  "I would like my host to be named 'uiucuxc'".  Machines
  979.  connected to the Internet across the nation would connect to
  980.  the NIC in the middle of the night, check modification dates
  981.  on the hosts file, and if modified move it to their local
  982.  machine.  With the advent of workstations and micros,
  983.  changes to the host file would have to be made nightly.  It
  984.  would also be very labor intensive and consume a lot of
  985.  network bandwidth. RFC-882 and a number of others describe
  986.  domain name service, a distributed data base system for
  987.  mapping names into addresses.
  988.  
  989.  We must look a little more closely into what's in a name.
  990.  First, note that an address specifies a particular connec-
  991.  tion on a specific network.  If the machine moves, the
  992.  address changes.  Second, a machine can have one or more
  993.  names and one or more network addresses (connections) to
  994.  different networks.  Names point to a something which does
  995.  useful work (i.e. the machine) and IP addresses point to an
  996.  interface on that provider.  A name is a purely symbolic
  997.  representation of a list of addresses on the network.  If a
  998.  machine moves to a different network, the addresses will
  999.  change but the name could remain the same.
  1000.  
  1001.  Domain names are tree structured names with the root of the
  1002.  tree at the right.  For example:
  1003.  
  1004.                        uxc.cso.uiuc.edu
  1005.  
  1006.  is a machine called 'uxc' (purely arbitrary), within the
  1007.  subdomains method of allocation of the U of I) and 'uiuc'
  1008.  (the University of Illinois at Urbana), registered with
  1009.  'edu' (the set of educational institutions).
  1010.  
  1011.  A simplified model of how a name is resolved is that on the
  1012.  user's machine there is a resolver.  The resolver knows how
  1013.  to contact across the network a root name server. Root
  1014.  servers are the base of the tree structured data retrieval
  1015.  system.  They know who is responsible for handling first
  1016.  level domains (e.g. 'edu').  What root servers to use is an
  1017.  installation parameter. From the root server the resolver
  1018.  finds out who provides 'edu' service.  It contacts the 'edu'
  1019.  name server which supplies it with a list of addresses of
  1020.  servers for the subdomains (like 'uiuc').  This action is
  1021.  repeated with the subdomain servers until the final sub-
  1022.  domain returns a list of addresses of interfaces on the host
  1023.  in question.  The user's machine then has its choice of
  1024.  which of these addresses to use for communication.
  1025.  
  1026.                              -15-
  1027.  
  1028.  A group may apply for its own domain name (like 'uiuc'
  1029.  above).  This is done in a manner similar to the IP address
  1030.  allocation.  The only requirements are that the requestor
  1031.  have two machines reachable from the Internet, which will
  1032.  act as name servers for that domain.  Those servers could
  1033.  also act as servers for subdomains or other servers could be
  1034.  designated as such.  Note that the servers need not be
  1035.  located in any particular place, as long as they are reach-
  1036.  able for name resolution.  (U of I could ask Michigan State
  1037.  to act on its behalf and that would be fine).  The biggest
  1038.  problem is that someone must do maintenance on the database.
  1039.  If the machine is not convenient, that might not be done in
  1040.  a timely fashion.  The other thing to note is that once the
  1041.  domain is allocated to an administrative entity, that entity
  1042.  can freely allocate subdomains using what ever manner it
  1043.  sees fit.
  1044.  
  1045.  The Berkeley Internet Name Domain (BIND) Server implements
  1046.  the Internet name server for UNIX systems.  The name server
  1047.  is a distributed data base system that allows clients to
  1048.  name resources and to share that information with other net-
  1049.  work hosts.  BIND is integrated with 4.3BSD and is used to
  1050.  lookup and store host names, addresses, mail agents, host
  1051.  information, and more.  It replaces the "/etc/hosts" file for
  1052.  host name lookup.  BIND is still an evolving program.  To
  1053.  keep up with reports on operational problems, future design
  1054.  decisions, etc, join the BIND mailing list by sending a
  1055.  request to "bind-request@ucbarp.Berkeley.EDU".  BIND can also
  1056.  be obtained via anonymous FTP from ucbarpa.berkley.edu.
  1057.  
  1058.  There are several advantages in using BIND.  One of the most
  1059.  important is that it frees a host from relying on "/etc/hosts"
  1060.  being up to date and complete.  Within the .uiuc.edu domain,
  1061.  only a few hosts are included in the host table distributed
  1062.  by SRI.  The remainder are listed locally within the BIND
  1063.  tables on uxc.cso.uiuc.edu (the server machine for most of
  1064.  the .uiuc.edu domain).  All are equally reachable from any
  1065.  other Internet host running BIND.
  1066.  
  1067.  BIND can also provide mail forwarding information for inte-
  1068.  rior hosts not directly reachable from the Internet.  These
  1069.  hosts can either be on non-advertised networks, or not con-
  1070.  nected to a network at all, as in the case of UUCP-reachable
  1071.  hosts.  More information on BIND is available in the "Name
  1072.  Server Operations Guide for BIND" in "UNIX System Manager's
  1073.  Manual", 4.3BSD release.
  1074.  
  1075.  There are a few special domains on the network, like SRI-
  1076.  NIC.ARPA.  The 'arpa' domain is historical, referring to
  1077.  hosts registered in the old hosts database at the NIC.
  1078.  There are others of the form NNSC.NSF.NET.  These special
  1079.  domains are used sparingly and require ample justification.
  1080.  They refer to servers under the administrative control of
  1081.  
  1082.                              -16-
  1083.  
  1084.  the network rather than any single organization.  This
  1085.  allows for the actual server to be moved around the net
  1086.  while the user interface to that machine remains constant.
  1087.  That is, should BBN relinquish control of the NNSC, the new
  1088.  provider would be pointed to by that name.
  1089.  
  1090.  In actuality, the domain system is a much more general and
  1091.  complex system than has been described.  Resolvers and some
  1092.  servers cache information to allow steps in the resolution
  1093.  to be skipped.  Information provided by the servers can be
  1094.  arbitrary, not merely IP addresses.  This allows the system
  1095.  to be used both by non-IP networks and for mail, where it
  1096.  may be necessary to give information on intermediate mail
  1097.  bridges.
  1098.  
  1099.  
  1100.  What's wrong with Berkeley Unix
  1101.  
  1102.  University of California at Berkeley has been funded by
  1103.  DARPA to modify the Unix system in a number of ways.
  1104.  Included in these modifications is support for the Internet
  1105.  protocols.  In earlier versions (e.g. BSD 4.2) there was
  1106.  good support for the basic Internet protocols (TCP, IP,
  1107.  SMTP, ARP) which allowed it to perform nicely on IP ether-
  1108.  nets and smaller Internets.  There were deficiencies, how-
  1109.  ever, when it was connected to complicated networks.  Most
  1110.  of these problems have been resolved under the newest
  1111.  release (BSD 4.3).  Since it is the springboard from which
  1112.  many vendors have launched Unix implementations (either by
  1113.  porting the existing code or by using it as a model), many
  1114.  implementations (e.g. Ultrix) are still based on BSD 4.2.
  1115.  Therefore, many implementations still exist with the BSD 4.2
  1116.  problems.  As time goes on, when BSD 4.3 trickles through
  1117.  vendors as new release, many of the problems will be
  1118.  resolved.  Following is a list of some problem scenarios and
  1119.  their handling under each of these releases.
  1120.  
  1121.  ICMP redirects
  1122.  
  1123.       Under the Internet model, all a system needs to know to
  1124.       get anywhere in the Internet is its own address, the
  1125.       address of where it wants to go, and how to reach a
  1126.       gateway which knows about the Internet.  It doesn't
  1127.       have to be the best gateway.  If the system is on a
  1128.       network with multiple gateways, and a host sends a
  1129.       packet for delivery to a gateway which feels another
  1130.       directly connected gateway is more appropriate, the
  1131.       gateway sends the sender a message.  This message is an
  1132.       ICMP redirect, which politely says "I'll deliver this
  1133.       message for you, but you really ought to use that gate-
  1134.       way over there to reach this host".  BSD 4.2 ignores
  1135.       these messages.  This creates more stress on the gate-
  1136.       ways and the local network, since for every packet
  1137.  
  1138.                              -17-
  1139.  
  1140.       sent, the gateway sends a packet to the originator.
  1141.       BSD 4.3 uses the redirect to update its routing tables,
  1142.       will use the route until it times out, then revert to
  1143.       the use of the route it thinks is should use.  The
  1144.       whole process then repeats, but it is far better than
  1145.       one per packet.
  1146.  
  1147.  Trailers
  1148.  
  1149.       An application (like FTP) sends a string of octets to
  1150.       TCP which breaks it into chunks, and adds a TCP header.
  1151.       TCP then sends blocks of data to IP which adds its own
  1152.       headers and ships the packets over the network.  All
  1153.       this prepending of the data with headers causes memory
  1154.       moves in both the sending and the receiving machines.
  1155.       Someone got the bright idea that if packets were long
  1156.       and they stuck the headers on the end (they became
  1157.       trailers), the receiving machine could put the packet
  1158.       on the beginning of a page boundary and if the trailer
  1159.       was OK merely delete it and transfer control of the
  1160.       page with no memory moves involved.  The problem is
  1161.       that trailers were never standardized and most gateways
  1162.       don't know to look for the routing information at the
  1163.       end of the block.  When trailers are used, the machine
  1164.       typically works fine on the local network (no gateways
  1165.       involved) and for short blocks through gateways (on
  1166.       which trailers aren't used).  So TELNET and FTP's of
  1167.       very short files work just fine and FTP's of long files
  1168.       seem to hang.  On BSD 4.2 trailers are a boot option
  1169.       and one should make sure they are off when using the
  1170.       Internet.  BSD 4.3 negotiates trailers, so it uses them
  1171.       on its local net and doesn't use them when going across
  1172.       the network.
  1173.  
  1174.  Retransmissions
  1175.  
  1176.       TCP fires off blocks to its partner at the far end of
  1177.       the connection.  If it doesn't receive an acknowledge-
  1178.       ment in a reasonable amount of time it retransmits the
  1179.       blocks.  The determination of what is reasonable is
  1180.       done by TCP's retransmission algorithm.  There is no
  1181.       correct algorithm but some are better than others,
  1182.       where better is measured by the number of retransmis-
  1183.       sions done unnecessarily.  BSD 4.2 had a retransmission
  1184.       algorithm which retransmitted quickly and often.  This
  1185.       is exactly what you would want if you had a bunch of
  1186.       machines on an ethernet (a low delay network of large
  1187.       bandwidth).  If you have a network of relatively longer
  1188.       delay and scarce bandwidth (e.g. 56kb lines), it tends
  1189.       to retransmit too aggressively.  Therefore, it makes
  1190.       the networks and gateways pass more traffic than is
  1191.       really necessary for a given conversation.  Retransmis-
  1192.       sion algorithms do adapt to the delay of the network
  1193.  
  1194.                              -18-
  1195.  
  1196.       after a few packets, but 4.2's adapts slowly in delay
  1197.       situations.  BSD 4.3 does a lot better and tries to do
  1198.       the best for both worlds.  It fires off a few
  1199.       retransmissions really quickly assuming it is on a low
  1200.       delay network, and then backs off very quickly.  It
  1201.       also allows the delay to be about 4 minutes before it
  1202.       gives up and declares the connection broken.
  1203.  
  1204.                              -19-
  1205.                             Appendix A
  1206.                 References to Remedial Information
  1207.  
  1208.  
  1209.       Quaterman and Hoskins, "Notable Computer Networks",
  1210.       Communications of the ACM, Vol 29, #10, pp. 932-971
  1211.       (October, 1986).
  1212.  
  1213.       Tannenbaum, Andrew S., Computer Networks, Prentice
  1214.       Hall, 1981.
  1215.  
  1216.       Hedrick, Chuck, Introduction to the Internet Protocols,
  1217.       Anonymous FTP from topaz.rutgers.edu, directory
  1218.       pub/tcp-ip-docs, file tcp-ip-intro.doc.
  1219.  
  1220.                              -20-
  1221.  
  1222.                             Appendix B
  1223.                         List of Major RFCs
  1224.  
  1225.  
  1226. RFC-768        User Datagram Protocol (UDP)
  1227. RFC-791        Internet Protocol (IP)
  1228. RFC-792        Internet Control Message Protocol (ICMP)
  1229. RFC-793        Transmission Control Protocol (TCP)
  1230. RFC-821        Simple Mail Transfer Protocol (SMTP)
  1231. RFC-822        Standard for the Format of ARPA Internet Text Messages
  1232. RFC-854        Telnet Protocol
  1233. RFC-917 *      Internet Subnets
  1234. RFC-919 *      Broadcasting Internet Datagrams
  1235. RFC-922 *      Broadcasting Internet Datagrams in the Presence of Subnets
  1236. RFC-940 *      Toward an Internet Standard Scheme for Subnetting
  1237. RFC-947 *      Multi-network Broadcasting within the Internet
  1238. RFC-950 *      Internet Standard Subnetting Procedure
  1239. RFC-959        File Transfer Protocol (FTP)
  1240. RFC-966 *      Host Groups: A Multicast Extension to the Internet Protocol
  1241. RFC-988 *      Host Extensions for IP Multicasting
  1242. RFC-997 *      Internet Numbers
  1243. RFC-1010 *     Assigned Numbers
  1244. RFC-1011 *     Official ARPA-Internet Protocols
  1245.  
  1246.       RFC's marked with the asterisk (*) are not included in
  1247.       the 1985 DDN Protocol Handbook.
  1248.  
  1249.       Note: This list is a portion of a list of RFC's by
  1250.       topic retrieved from the NIC under NETINFO:RFC-SETS.TXT
  1251.       (anonymous FTP of course).
  1252.  
  1253.       The following list is not necessary for connection to
  1254.       the Internet, but is useful in understanding the domain
  1255.       system, mail system, and gateways:
  1256.  
  1257. RFC-882        Domain Names - Concepts and Facilities
  1258. RFC-883        Domain Names - Implementation
  1259. RFC-973        Domain System Changes and Observations
  1260. RFC-974        Mail Routing and the Domain System
  1261. RFC-1009       Requirements for Internet Gateways
  1262.  
  1263.                               -21-
  1264.  
  1265.                             Appendix C
  1266.               Contact Points for Network Information
  1267.  
  1268.  
  1269.  Network Information Center (NIC)
  1270.  
  1271.       DDN Network Information Center
  1272.       SRI International, Room EJ291
  1273.       333 Ravenswood Avenue
  1274.       Menlo Park, CA 94025
  1275.       (800) 235-3155 or (415) 859-3695
  1276.       NIC@SRI-NIC.ARPA
  1277.  
  1278.  
  1279.  NSF Network Service Center (NNSC)
  1280.  
  1281.       NNSC
  1282.       BBN Laboratories Inc.
  1283.       10 Moulton St.
  1284.       Cambridge, MA 02238
  1285.       (617) 497-3400
  1286.       NNSC@NNSC.NSF.NET
  1287.  
  1288.                              -22-
  1289.  
  1290.                            Glossary
  1291.  
  1292.  core gateway
  1293.  
  1294. The innermost gateways of the ARPAnet.  These
  1295. gateways have a total picture of the reacha-
  1296. bility to all networks known to the ARPAnet
  1297. with EGP.  They then redistribute reachabil-
  1298. ity information to all those gateways speak-
  1299. ing EGP.  It is from them your EGP agent
  1300. (there is one acting for you somewhere if you
  1301. can reach the ARPAnet) finds out it can reach
  1302. all the nets on the ARPAnet. Which is then
  1303. passed to you via Hello, gated, RIP....
  1304.  
  1305.  count to infinity
  1306.  
  1307. The symptom of a routing problem where
  1308. routing information is passed in a circular
  1309. manner through multiple gateways.  Each gate-
  1310. way increments the metric appropriately and
  1311. passes it on.  As the metric is passed around
  1312. the loop, it increments to ever increasing
  1313. values til it reaches the maximum for the
  1314. routing protocol being used, which typically
  1315. denotes a link outage.
  1316.  
  1317.  hold down
  1318.  
  1319. When a router discovers a path in the network
  1320. has gone down announcing that that path is
  1321. down for a minimum amount of time (usually at
  1322. least two minutes).  This allows for the pro-
  1323. pagation of the routing information across
  1324. the network and prevents the formation of
  1325. routing loops.
  1326.  
  1327.  split horizon
  1328.  
  1329. When a router (or group of routers working in
  1330. consort) accept routing information from mul-
  1331. tiple external networks, but do not pass on
  1332. information learned from one external network
  1333. to any others.  This is an attempt to prevent
  1334. bogus routes to a network from being propagated
  1335. because of gossip or counting to infinity.
  1336.  
  1337.                              -23-
  1338.  
  1339.